@风铃
2年前 提问
1个回答

软件安全编码实践技术有哪些

007bug
2年前

软件安全编码实践技术有以下这些:

  • 内存管理:包括几个重要的内存管理措施,如引用局部性、垃圾回收、类型安全和代码访问安全等,这些措施可以帮助软件实现适度的内存安全控制。

  • 例外管理:对所有的例外都必须要明确处理,最好采用统一的方法来处理,以防止敏感信息泄露。

  • 会话管理:要求会话具有唯一的会话令牌,并对用户活动进行跟踪。

  • 配置参数管理:组成软件的配置参数需要被管理和保护,避免被攻击者利用。

  • 并发控制技术:一些常用的预防竞争条件或者TOC/TOU攻击的保护方法主要包括避免竞争窗口、操作的原子性和交叉互斥。

  • 标签化技术:使用用户唯一的身份符号代替敏感信息的过程,既保存了需要的相关信息,又不会对安全造成破坏。

  • 沙箱技术:通过沙箱将运行的软件与主机操作系统隔离,避免未经测试的、不可信的、未经验证的代码和程序被执行,尤其是要避免那些由第三方发布的程序直接在主机操作系统上运行。

  • 安全的API:要避免使用那些容易受到安全破坏的、被禁用和被弃用的API函数,代之以安全的API。

  • 防篡改技术:防篡改技术保证完整性,保护软件代码和数据免受未授权的恶意修改。几种典型的防篡改技术有代码混淆、抗逆向工程和代码签名。